<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>AdaptiveStepsizeIntegrator (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AdaptiveStepsizeIntegrator (Apache Commons Math 3.3 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AdaptiveStepsizeIntegrator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdamsNordsieckTransformer.html" title="class in org.apache.commons.math3.ode.nonstiff"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegrator.html" title="class in org.apache.commons.math3.ode.nonstiff"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html" target="_top">Frames</a></li>
<li><a href="AdaptiveStepsizeIntegrator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.ode.nonstiff</div>
<h2 title="Class AdaptiveStepsizeIntegrator" class="title">Class AdaptiveStepsizeIntegrator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html" title="class in org.apache.commons.math3.ode">org.apache.commons.math3.ode.AbstractIntegrator</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.ode.nonstiff.AdaptiveStepsizeIntegrator</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/commons/math3/ode/FirstOrderIntegrator.html" title="interface in org.apache.commons.math3.ode">FirstOrderIntegrator</a>, <a href="../../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/EmbeddedRungeKuttaIntegrator.html" title="class in org.apache.commons.math3.ode.nonstiff">EmbeddedRungeKuttaIntegrator</a>, <a href="../../../../../../org/apache/commons/math3/ode/nonstiff/GraggBulirschStoerIntegrator.html" title="class in org.apache.commons.math3.ode.nonstiff">GraggBulirschStoerIntegrator</a>, <a href="../../../../../../org/apache/commons/math3/ode/MultistepIntegrator.html" title="class in org.apache.commons.math3.ode">MultistepIntegrator</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AdaptiveStepsizeIntegrator</span>
extends <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html" title="class in org.apache.commons.math3.ode">AbstractIntegrator</a></pre>
<div class="block">This abstract class holds the common part of all adaptive
 stepsize integrators for Ordinary Differential Equations.

 <p>These algorithms perform integration with stepsize control, which
 means the user does not specify the integration step but rather a
 tolerance on error. The error threshold is computed as
 <pre>
 threshold_i = absTol_i + relTol_i * max (abs (ym), abs (ym+1))
 </pre>
 where absTol_i is the absolute tolerance for component i of the
 state vector and relTol_i is the relative tolerance for the same
 component. The user can also use only two scalar values absTol and
 relTol which will be used for all components.
 </p>
 <p>
 If the Ordinary Differential Equations is an <a href="../../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode"><code>extended ODE</code></a> rather than a <a href="../../../../../../org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html" title="interface in org.apache.commons.math3.ode"><code>basic ODE</code></a>, then
 <em>only</em> the <a href="../../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html#getPrimaryState()"><code>primary part</code></a>
 of the state vector is used for stepsize control, not the complete state vector.
 </p>

 <p>If the estimated error for ym+1 is such that
 <pre>
 sqrt((sum (errEst_i / threshold_i)^2 ) / n) < 1
 </pre>

 (where n is the main set dimension) then the step is accepted,
 otherwise the step is rejected and a new attempt is made with a new
 stepsize.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd>
<dt><span class="strong">Version:</span></dt>
  <dd>$Id: AdaptiveStepsizeIntegrator.java 1416643 2012-12-03 19:37:14Z tn $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#mainSetDimension">mainSetDimension</a></strong></code>
<div class="block">Main set dimension.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#scalAbsoluteTolerance">scalAbsoluteTolerance</a></strong></code>
<div class="block">Allowed absolute scalar error.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#scalRelativeTolerance">scalRelativeTolerance</a></strong></code>
<div class="block">Allowed relative scalar error.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#vecAbsoluteTolerance">vecAbsoluteTolerance</a></strong></code>
<div class="block">Allowed absolute vectorial error.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#vecRelativeTolerance">vecRelativeTolerance</a></strong></code>
<div class="block">Allowed relative vectorial error.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.commons.math3.ode.AbstractIntegrator">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.commons.math3.ode.<a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html" title="class in org.apache.commons.math3.ode">AbstractIntegrator</a></h3>
<code><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#isLastStep">isLastStep</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#resetOccurred">resetOccurred</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#stepHandlers">stepHandlers</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#stepSize">stepSize</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#stepStart">stepStart</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#AdaptiveStepsizeIntegrator(java.lang.String, double, double, double[], double[])">AdaptiveStepsizeIntegrator</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                          double&nbsp;minStep,
                          double&nbsp;maxStep,
                          double[]&nbsp;vecAbsoluteTolerance,
                          double[]&nbsp;vecRelativeTolerance)</code>
<div class="block">Build an integrator with the given stepsize bounds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#AdaptiveStepsizeIntegrator(java.lang.String, double, double, double, double)">AdaptiveStepsizeIntegrator</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                          double&nbsp;minStep,
                          double&nbsp;maxStep,
                          double&nbsp;scalAbsoluteTolerance,
                          double&nbsp;scalRelativeTolerance)</code>
<div class="block">Build an integrator with the given stepsize bounds.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#filterStep(double, boolean, boolean)">filterStep</a></strong>(double&nbsp;h,
          boolean&nbsp;forward,
          boolean&nbsp;acceptSmall)</code>
<div class="block">Filter the integration step.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#getCurrentStepStart()">getCurrentStepStart</a></strong>()</code>
<div class="block">Get the current value of the step start time t<sub>i</sub>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#getMaxStep()">getMaxStep</a></strong>()</code>
<div class="block">Get the maximal step.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#getMinStep()">getMinStep</a></strong>()</code>
<div class="block">Get the minimal step.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#initializeStep(boolean, int, double[], double, double[], double[], double[], double[])">initializeStep</a></strong>(boolean&nbsp;forward,
              int&nbsp;order,
              double[]&nbsp;scale,
              double&nbsp;t0,
              double[]&nbsp;y0,
              double[]&nbsp;yDot0,
              double[]&nbsp;y1,
              double[]&nbsp;yDot1)</code>
<div class="block">Initialize the integration step.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#integrate(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">integrate</a></strong>(<a href="../../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations,
         double&nbsp;t)</code>
<div class="block">Integrate a set of differential equations up to the given time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#resetInternalState()">resetInternalState</a></strong>()</code>
<div class="block">Reset internal state to dummy values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#sanityChecks(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">sanityChecks</a></strong>(<a href="../../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations,
            double&nbsp;t)</code>
<div class="block">Check the integration span.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#setInitialStepSize(double)">setInitialStepSize</a></strong>(double&nbsp;initialStepSize)</code>
<div class="block">Set the initial step size.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#setStepSizeControl(double, double, double[], double[])">setStepSizeControl</a></strong>(double&nbsp;minimalStep,
                  double&nbsp;maximalStep,
                  double[]&nbsp;absoluteTolerance,
                  double[]&nbsp;relativeTolerance)</code>
<div class="block">Set the adaptive step size control parameters.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#setStepSizeControl(double, double, double, double)">setStepSizeControl</a></strong>(double&nbsp;minimalStep,
                  double&nbsp;maximalStep,
                  double&nbsp;absoluteTolerance,
                  double&nbsp;relativeTolerance)</code>
<div class="block">Set the adaptive step size control parameters.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.ode.AbstractIntegrator">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.ode.<a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html" title="class in org.apache.commons.math3.ode">AbstractIntegrator</a></h3>
<code><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#acceptStep(org.apache.commons.math3.ode.sampling.AbstractStepInterpolator, double[], double[], double)">acceptStep</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int)">addEventHandler</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#addEventHandler(org.apache.commons.math3.ode.events.EventHandler, double, double, int, org.apache.commons.math3.analysis.solvers.UnivariateSolver)">addEventHandler</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#addStepHandler(org.apache.commons.math3.ode.sampling.StepHandler)">addStepHandler</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#clearEventHandlers()">clearEventHandlers</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#clearStepHandlers()">clearStepHandlers</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#computeDerivatives(double, double[], double[])">computeDerivatives</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getCurrentSignedStepsize()">getCurrentSignedStepsize</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getEvaluations()">getEvaluations</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getEvaluationsCounter()">getEvaluationsCounter</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getEventHandlers()">getEventHandlers</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getExpandable()">getExpandable</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getMaxEvaluations()">getMaxEvaluations</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getName()">getName</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getStepHandlers()">getStepHandlers</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#initIntegration(double, double[], double)">initIntegration</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#integrate(org.apache.commons.math3.ode.FirstOrderDifferentialEquations, double, double[], double, double[])">integrate</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#setEquations(org.apache.commons.math3.ode.ExpandableStatefulODE)">setEquations</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#setMaxEvaluations(int)">setMaxEvaluations</a>, <a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#setStateInitialized(boolean)">setStateInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="scalAbsoluteTolerance">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalAbsoluteTolerance</h4>
<pre>protected&nbsp;double scalAbsoluteTolerance</pre>
<div class="block">Allowed absolute scalar error.</div>
</li>
</ul>
<a name="scalRelativeTolerance">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalRelativeTolerance</h4>
<pre>protected&nbsp;double scalRelativeTolerance</pre>
<div class="block">Allowed relative scalar error.</div>
</li>
</ul>
<a name="vecAbsoluteTolerance">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vecAbsoluteTolerance</h4>
<pre>protected&nbsp;double[] vecAbsoluteTolerance</pre>
<div class="block">Allowed absolute vectorial error.</div>
</li>
</ul>
<a name="vecRelativeTolerance">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vecRelativeTolerance</h4>
<pre>protected&nbsp;double[] vecRelativeTolerance</pre>
<div class="block">Allowed relative vectorial error.</div>
</li>
</ul>
<a name="mainSetDimension">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>mainSetDimension</h4>
<pre>protected&nbsp;int mainSetDimension</pre>
<div class="block">Main set dimension.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AdaptiveStepsizeIntegrator(java.lang.String, double, double, double, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AdaptiveStepsizeIntegrator</h4>
<pre>public&nbsp;AdaptiveStepsizeIntegrator(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                          double&nbsp;minStep,
                          double&nbsp;maxStep,
                          double&nbsp;scalAbsoluteTolerance,
                          double&nbsp;scalRelativeTolerance)</pre>
<div class="block">Build an integrator with the given stepsize bounds.
 The default step handler does nothing.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - name of the method</dd><dd><code>minStep</code> - minimal step (sign is irrelevant, regardless of
 integration direction, forward or backward), the last step can
 be smaller than this</dd><dd><code>maxStep</code> - maximal step (sign is irrelevant, regardless of
 integration direction, forward or backward), the last step can
 be smaller than this</dd><dd><code>scalAbsoluteTolerance</code> - allowed absolute error</dd><dd><code>scalRelativeTolerance</code> - allowed relative error</dd></dl>
</li>
</ul>
<a name="AdaptiveStepsizeIntegrator(java.lang.String, double, double, double[], double[])">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AdaptiveStepsizeIntegrator</h4>
<pre>public&nbsp;AdaptiveStepsizeIntegrator(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                          double&nbsp;minStep,
                          double&nbsp;maxStep,
                          double[]&nbsp;vecAbsoluteTolerance,
                          double[]&nbsp;vecRelativeTolerance)</pre>
<div class="block">Build an integrator with the given stepsize bounds.
 The default step handler does nothing.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - name of the method</dd><dd><code>minStep</code> - minimal step (sign is irrelevant, regardless of
 integration direction, forward or backward), the last step can
 be smaller than this</dd><dd><code>maxStep</code> - maximal step (sign is irrelevant, regardless of
 integration direction, forward or backward), the last step can
 be smaller than this</dd><dd><code>vecAbsoluteTolerance</code> - allowed absolute error</dd><dd><code>vecRelativeTolerance</code> - allowed relative error</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="setStepSizeControl(double, double, double, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStepSizeControl</h4>
<pre>public&nbsp;void&nbsp;setStepSizeControl(double&nbsp;minimalStep,
                      double&nbsp;maximalStep,
                      double&nbsp;absoluteTolerance,
                      double&nbsp;relativeTolerance)</pre>
<div class="block">Set the adaptive step size control parameters.
 <p>
 A side effect of this method is to also reset the initial
 step so it will be automatically computed by the integrator
 if <a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#setInitialStepSize(double)"><code>setInitialStepSize</code></a>
 is not called by the user.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>minimalStep</code> - minimal step (must be positive even for backward
 integration), the last step can be smaller than this</dd><dd><code>maximalStep</code> - maximal step (must be positive even for backward
 integration)</dd><dd><code>absoluteTolerance</code> - allowed absolute error</dd><dd><code>relativeTolerance</code> - allowed relative error</dd></dl>
</li>
</ul>
<a name="setStepSizeControl(double, double, double[], double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStepSizeControl</h4>
<pre>public&nbsp;void&nbsp;setStepSizeControl(double&nbsp;minimalStep,
                      double&nbsp;maximalStep,
                      double[]&nbsp;absoluteTolerance,
                      double[]&nbsp;relativeTolerance)</pre>
<div class="block">Set the adaptive step size control parameters.
 <p>
 A side effect of this method is to also reset the initial
 step so it will be automatically computed by the integrator
 if <a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html#setInitialStepSize(double)"><code>setInitialStepSize</code></a>
 is not called by the user.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>minimalStep</code> - minimal step (must be positive even for backward
 integration), the last step can be smaller than this</dd><dd><code>maximalStep</code> - maximal step (must be positive even for backward
 integration)</dd><dd><code>absoluteTolerance</code> - allowed absolute error</dd><dd><code>relativeTolerance</code> - allowed relative error</dd></dl>
</li>
</ul>
<a name="setInitialStepSize(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInitialStepSize</h4>
<pre>public&nbsp;void&nbsp;setInitialStepSize(double&nbsp;initialStepSize)</pre>
<div class="block">Set the initial step size.
 <p>This method allows the user to specify an initial positive
 step size instead of letting the integrator guess it by
 itself. If this method is not called before integration is
 started, the initial step size will be estimated by the
 integrator.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>initialStepSize</code> - initial step size to use (must be positive even
 for backward integration ; providing a negative value or a value
 outside of the min/max step interval will lead the integrator to
 ignore the value and compute the initial step size by itself)</dd></dl>
</li>
</ul>
<a name="sanityChecks(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sanityChecks</h4>
<pre>protected&nbsp;void&nbsp;sanityChecks(<a href="../../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations,
                double&nbsp;t)
                     throws <a href="../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a>,
                            <a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Check the integration span.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#sanityChecks(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">sanityChecks</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html" title="class in org.apache.commons.math3.ode">AbstractIntegrator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>equations</code> - set of differential equations</dd><dd><code>t</code> - target time for the integration</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if adaptive step size integrators
 tolerance arrays dimensions are not compatible with equations settings</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if integration span is too small</dd></dl>
</li>
</ul>
<a name="initializeStep(boolean, int, double[], double, double[], double[], double[], double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeStep</h4>
<pre>public&nbsp;double&nbsp;initializeStep(boolean&nbsp;forward,
                    int&nbsp;order,
                    double[]&nbsp;scale,
                    double&nbsp;t0,
                    double[]&nbsp;y0,
                    double[]&nbsp;yDot0,
                    double[]&nbsp;y1,
                    double[]&nbsp;yDot1)
                      throws <a href="../../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a>,
                             <a href="../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Initialize the integration step.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forward</code> - forward integration indicator</dd><dd><code>order</code> - order of the method</dd><dd><code>scale</code> - scaling vector for the state vector (can be shorter than state vector)</dd><dd><code>t0</code> - start time</dd><dd><code>y0</code> - state vector at t0</dd><dd><code>yDot0</code> - first time derivative of y0</dd><dd><code>y1</code> - work array for a state vector</dd><dd><code>yDot1</code> - work array for the first time derivative of y1</dd>
<dt><span class="strong">Returns:</span></dt><dd>first integration step</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the number of functions evaluations is exceeded</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if arrays dimensions do not match equations settings</dd></dl>
</li>
</ul>
<a name="filterStep(double, boolean, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterStep</h4>
<pre>protected&nbsp;double&nbsp;filterStep(double&nbsp;h,
                boolean&nbsp;forward,
                boolean&nbsp;acceptSmall)
                     throws <a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Filter the integration step.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>h</code> - signed step</dd><dd><code>forward</code> - forward integration indicator</dd><dd><code>acceptSmall</code> - if true, steps smaller than the minimal value
 are silently increased up to this value, if false such small
 steps generate an exception</dd>
<dt><span class="strong">Returns:</span></dt><dd>a bounded integration step (h if no bound is reach, or a bounded value)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if the step is too small and acceptSmall is false</dd></dl>
</li>
</ul>
<a name="integrate(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>integrate</h4>
<pre>public abstract&nbsp;void&nbsp;integrate(<a href="../../../../../../org/apache/commons/math3/ode/ExpandableStatefulODE.html" title="class in org.apache.commons.math3.ode">ExpandableStatefulODE</a>&nbsp;equations,
             double&nbsp;t)
                        throws <a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a>,
                               <a href="../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a>,
                               <a href="../../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a>,
                               <a href="../../../../../../org/apache/commons/math3/exception/NoBracketingException.html" title="class in org.apache.commons.math3.exception">NoBracketingException</a></pre>
<div class="block">Integrate a set of differential equations up to the given time.
 <p>This method solves an Initial Value Problem (IVP).</p>
 <p>The set of differential equations is composed of a main set, which
 can be extended by some sets of secondary equations. The set of
 equations must be already set up with initial time and partial states.
 At integration completion, the final time and partial states will be
 available in the same object.</p>
 <p>Since this method stores some internal state variables made
 available in its public interface during integration (<a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getCurrentSignedStepsize()"><code>AbstractIntegrator.getCurrentSignedStepsize()</code></a>), it is <em>not</em> thread-safe.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#integrate(org.apache.commons.math3.ode.ExpandableStatefulODE, double)">integrate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html" title="class in org.apache.commons.math3.ode">AbstractIntegrator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>equations</code> - complete set of differential equations to integrate</dd><dd><code>t</code> - target time for the integration
 (can be set to a value smaller than <code>t0</code> for backward integration)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if integration step is too small</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the dimension of the complete state does not
 match the complete equations sets dimension</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the number of functions evaluations is exceeded</dd>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NoBracketingException.html" title="class in org.apache.commons.math3.exception">NoBracketingException</a></code> - if the location of an event cannot be bracketed</dd></dl>
</li>
</ul>
<a name="getCurrentStepStart()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentStepStart</h4>
<pre>public&nbsp;double&nbsp;getCurrentStepStart()</pre>
<div class="block">Get the current value of the step start time t<sub>i</sub>.
 <p>This method can be called during integration (typically by
 the object implementing the <a href="../../../../../../org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html" title="interface in org.apache.commons.math3.ode"><code>differential equations</code></a> problem) if the value of the current step that
 is attempted is needed.</p>
 <p>The result is undefined if the method is called outside of
 calls to <code>integrate</code>.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/ode/ODEIntegrator.html#getCurrentStepStart()">getCurrentStepStart</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/ode/ODEIntegrator.html" title="interface in org.apache.commons.math3.ode">ODEIntegrator</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html#getCurrentStepStart()">getCurrentStepStart</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/commons/math3/ode/AbstractIntegrator.html" title="class in org.apache.commons.math3.ode">AbstractIntegrator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>current value of the step start time t<sub>i</sub></dd></dl>
</li>
</ul>
<a name="resetInternalState()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetInternalState</h4>
<pre>protected&nbsp;void&nbsp;resetInternalState()</pre>
<div class="block">Reset internal state to dummy values.</div>
</li>
</ul>
<a name="getMinStep()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinStep</h4>
<pre>public&nbsp;double&nbsp;getMinStep()</pre>
<div class="block">Get the minimal step.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>minimal step</dd></dl>
</li>
</ul>
<a name="getMaxStep()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getMaxStep</h4>
<pre>public&nbsp;double&nbsp;getMaxStep()</pre>
<div class="block">Get the maximal step.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>maximal step</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AdaptiveStepsizeIntegrator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/AdamsNordsieckTransformer.html" title="class in org.apache.commons.math3.ode.nonstiff"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegrator.html" title="class in org.apache.commons.math3.ode.nonstiff"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/ode/nonstiff/AdaptiveStepsizeIntegrator.html" target="_top">Frames</a></li>
<li><a href="AdaptiveStepsizeIntegrator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
